FIG. 1 is a block diagram of a prior-art read channel 100 for a hard drive. Read channel 100 receives an analog input signal 121 corresponding to data stored on the hard drive and generates a digital decoded output signal 129 representing the data stored on the hard drive.
In particular, analog-to-digital converter (ADC) 122 digitizes analog input signal 121 to generate digital input signal 123. Digital finite impulse response (DFIR) filter 124 equalizes digital input signal 123 based on a set of tap coefficients 131 to generate equalized digital signal 125. Detector 126 converts equalized digital signal 125 into multi-bit log likelihood ratio (LLR) values 127, where each LLR value has a sign bit and a multi-bit confidence value. Detector 126, for example, implements a suitable detection technique such as Viterbi soft-output detection or maximum a posterioi (MAP) detection, to generate LLR values. Decoder 128 decodes the LLR values to generate decoded output signal 129.
DFIR filter 124 is an adaptive filter for which tap coefficients 131 are adaptively updated by DFIR adaptation accumulator 130. DFIR adaptation accumulator 130 receives an initial set of user-specified tap coefficients 133 via DFIR user-programmable port 132 and adaptively updates those tap coefficients to generate tap coefficients 131 to adapt the operations of DFIR filter 124 to dynamic signal conditions. DFIR adaptation accumulator 130 implements a least mean squares (LMS) algorithm based on (i) equalized signal 125 from DFIR filter 124 and (ii) sign bits of LLR values 127 from detector 126 to update the tap coefficients.
In typical hard-drive read-channel operations, a user reload signal 135 is asserted at the beginning of every sector of the hard drive to reload the initial set of user-specified tap coefficients 133 into DFIR adaptation accumulator 130 to reset tap coefficients 131. However, in low signal-to-noise environments, a small deviation of the DFIR filter 124 from its appropriate setting may lead to signals exceeding limits and causing runaway, leading to burst errors in decoded output signal 129, and may cause DFIR Filter 124 to further diverge.